//#include <iostream>
//using namespace std;
//
//const int N = 110;
//int a[N][N];
//
//int main()
//{
//	int x, y;
//	cin >> x >> y;
//	
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < x; i++)
//	{
//		for (j = 0; j < y; j++)
//		{
//			cin >> a[i][j];
//		}
//	}
//	
//	for (j = 0; j < y; j++)
//	{
//		for (i = 0; i < x; i++)
//		{
//			cout << a[i][j] << " ";
//		}
//		cout << endl;
//	}
//	
//	return 0;
//}



//#include <iostream>
//using namespace std;
//
//const int N = 110;
//int a[N][N];
//
//int main()
//{
//	int m, n;
//	cin >> m >> n;
//	
//	int sum = 0;
//	for (int i = 0; i < m; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			cin >> a[i][j];
//			if (i == 0 || i == m - 1 || j == 0 || j == n - 1)
//			{
//				sum += a[i][j];
//			}
//		}
//	}
//	cout << sum << endl;
//	
//	return 0;
//}



//#include <iostream>
//using namespace std;
//
//const int N = 110;
//int a[N][N];
//int b[N][N];
//
//int main()
//{
//	int n, m;
//	cin >> n >> m;
//	
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < m; j++)
//		{
//			cin >> a[i][j];
//			b[i][j] = a[i][j];
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < m; j++)
//		{
//			if (i >= 1 && i <= n - 2 && j >= 1 && j <= m - 2)
//			{
//				b[i][j] = (a[i][j] + a[i][j - 1] + a[i + 1][j] + a[i][j + 1] + a[i - 1][j]) / 5.0 + 0.5;
//			}
//		}
//	}
//	
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < m; j++)
//		{
//			cout << b[i][j] << " ";
//		}
//		cout << endl;
//	}
//	
//	return 0;
//}



#include <iostream>
using namespace std;

int main()
{
	int n;
	cin >> n;
	
	int a[7] = {0};
	int b[7] = {0};
	for (int i = 0; i < 7; i++)
	{
		cin >> a[i];
	}
	
	while (n--)
	{
		int m = 0;
		int sum = 0;
		for (int i = 0; i < 7; i++)
		{
			cin >> m;
			for (int j = 0; j < 7; j++)
			{
				if (m == a[j])
				{
					sum++;
					break;
				}
			}
		}
		b[7 - sum]++;
	}
	
	for (int i = 0; i < 7; i++)
	{
		cout << b[i] << " ";
	}
	
	return 0;
}
